ELEMENTS

Editing
  • account_tree
  • bug_report

<button>

하위 요소의 콘텐츠로 지정된 버튼을 나타낸다.

  • 콘텐츠 분류

  • 허용된 부모 요소 또는 위치

    PHRASING CONTENT

    구문 콘텐츠(phrasing-content)가 예상되는 위치

  • 콘텐츠 모델

    PHRASING CONTENT

    구문 콘텐츠(phrasing content)이지만 인터랙티브 콘텐츠(interactive content) 하위 항목 및 tabindex 애트리뷰트가 지정된 하위 항목이 없어야 한다.

  • 태그 생략

    시작 태그, 종료 태그 모두 작성

  • DOM Interface

    HTMLButtonElement

    [Exposed=Window]
    interface HTMLButtonElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute boolean disabled;
      readonly attribute HTMLFormElement? form;
      [CEReactions] attribute USVString formAction;
      [CEReactions] attribute DOMString formEnctype;
      [CEReactions] attribute DOMString formMethod;
      [CEReactions] attribute boolean formNoValidate;
      [CEReactions] attribute DOMString formTarget;
      [CEReactions] attribute DOMString name;
      [CEReactions] attribute DOMString type;
      [CEReactions] attribute DOMString value;
    
      readonly attribute boolean willValidate;
      readonly attribute ValidityState validity;
      readonly attribute DOMString validationMessage;
      boolean checkValidity();
      boolean reportValidity();
      undefined setCustomValidity(DOMString error);
    
      readonly attribute NodeList labels;
    };
    HTMLButtonElement includes PopoverInvokerElement;

구문

마크업 형식
<button></button>
Example

애트리뷰트

disabled boolean attributes

요소를 비활성화한다.

About Boolean attributes

불리언(boolean) 값을 나타낸다. 예를 들어 다음 세 가지 값은 모두 참(true)이다.

<input disabled>, <input disabled="disabled">, <input disabled="">

form unique identifier

<form> 요소와 연결할 때 연결하고자 하는 <form> 요소의 id를 지정한다.

About Unique identifier

문서에서 요소를 식별하는 유일무이한 문자열 값을 나타낸다.

formaction non-empty URL potentially surrounded by spaces

양식(form)이 제출될 때 서버쪽 처리 페이지 URL을 해당 <form> 요소가 아닌 지정 가능한 요소에서 지정한다. 명시되지 않은 경우 해당 <form> 요소에 명시된 action 애트리뷰트의 서버쪽 처리 페이지 URL로 전송된다.

About Non-empty URL potentially surrounded by spaces

문자열에서 선행 및 후행 ASCII 공백을 제거한 후 유효한 비공백 URL인 경우 문자열은 공백으로 둘러싸일 수 있는 유효한 비공백 URL을 나타낸다.

formenctype keywords and enumerated attributes

양식(form)이 제출될 때 값의 인코딩 유형을 해당 <form> 요소가 아닌 지정 가능한 입력 요소에서 지정한다. 명시되지 않은 경우 해당 <form> 요소의 enctype 애트리뷰트에서 지정된 인코딩 유형으로 전송된다.

사용되는 키워드

application/x-www-form-urlencoded

양식 전송의 기본 유형이다. 텍스트를 인코딩(encoding)하여 전송한다. 공백은 +, 알파벳과 숫자가 아닌 특수 문자들은 모두 퍼센트 인코딩(percent encoding)을 한다.

양식 예
<form>
  <input type="text" name="name" value="Eric Clapton">
  <input type="text" name="formula" value="a + b == 13%!">
</form>
인코딩(encodeing)하여 전송하는 형식
name=Eric%20Clapton&formula=a%20%2B%20b%20%3D%3D%2013%25%21
multipart/form-data

데이터 전송시 텍스트를 포함하여 바이너리(binary) 데이터를 함께 전송한다. 문자열은 인코딩(encoding)하지 않고 바이너리(binary) 데이터와 함께 헤더(header)에 포함하여 전송한다.

GET 방식으로 전송할 수 없으며 POST 방식으로만 가능하다.

text/plain

텍스트만 전송이 가능하며 공백만 +로 인코딩한다.

formmethod enumerated attribute

양식(form)이 제출될 때 전송 방식을 해당 <form> 요소가 아닌 지정 가능한 입력 요소에서 지정한다. 명시되지 않은 경우 해당 <form> 요소의 method 애트리뷰트에서 지정된 인코딩 유형으로 전송된다.

About Enumerated attribute

제한된 값 집합으로 구성된 데이터를 나타낸다. 값 설정을 위한 다양한 방식이 존재할 수 있다.

사용되는 키워드

dialog

양식(form)이 있는 <dialog> 요소에서 지정할 수 있으며 사용자가 누른 전송 버튼에 따라 처리를 분기하고자 할 때 사용할 수 있다.

사용자가 누른 전송 버튼의 값은 HTMLDialogElement 인터페이스의 returnValue 프로퍼티로 접근이 가능하다.

GET

양식(form)의 action URL 뒤에 붙여 쿼리 스트링(query string) 형식으로 전송한다. 기본 URL을 포함하여 최대 255개의 문자를 전송할 수 있다.

데이터가 노출되어 전송이 되기 때문에 보안에 취약하니 보안이 필요한 데이터는 절대 피한다. 캐시(cache)가 되므로 재전송이 가능하며 똑같은 결과를 가져온다. URL의 일부이기 때문에 특정 데이터에 따라 차별되는 웹페이지를 호출할 수 있다.

POST

전송 프로토콜(protocol)의 헤더(header)에 정해진 규약에 따라 데이터가 포함되어 전송된다. 외부에 직접적으로 노출되지 않기 때문에 GET 방식보다는 보안이 덜 취약하다. 바이너리(binary) 데이터를 전송할 수 있는 환경을 제공하기 때문에 파일을 전송하고자 할 때는 enctypemultipart/form-data로 설정하면 된다.

GET과 달리 캐시(cache)가 안되며 재전송을 암묵적(보통 유저 에이전트의 확인 절차가 있으나 절대 금지가 아님)으로 금지하지만 정상적인 재전송이 이루어지는 경우 중복처리가 될 수 있으므로 재전송을 방지하는 인터페이스가 필요하다.

formnovalidate boolean attributes

명시된 요소의 입력된 값이 제출될 때 입력된 데이터의 유효성 검사를 하지 않는다. 명시되지 않은 경우 상위 <form> 요소의 설정을 따라간다.

About Boolean attributes

불리언(boolean) 값을 나타낸다. 예를 들어 다음 세 가지 값은 모두 참(true)이다.

<input disabled>, <input disabled="disabled">, <input disabled="">

formtarget navigable target names or keywords

양식(form)이 제출될 때 action 또는 formaction 애트리뷰트에 설정된 서버쪽 처리 페이지를 여는 방식을 해당 <form> 요소가 아닌 지정 가능한 입력 요소에서 지정한다. 명시되지 않은 경우 해당 <form> 요소의 target 애트리뷰트에서 지정된 방식으로 연다.

사용되는 키워드

_blank

새로 생성한 창(또는 탭)에 보여준다.

_parent

현재 페이지가 프레임 안에 존재하는 경우 부모 프레임(창)에서 보여준다.

_self

현재 창에서 보여준다.

_top

현재 문서가 프레임 안에 존재하는 경우를 포함하여 다수의 프레임이 연관되어 있다면 최상위 프레임(창)에서 보여준다.

name non empty string

요소의 이름을 지정한다. 유저 에이전트(user agent)에서 식별값으로 사용되며 입력 요소에 지정된 name의 값은 서버에 전송시 데이터를 식별하는 이름으로 사용된다. 식별값으로 사용되지만 유일무이한 값으로 강제하지는 않는다. 그러한 이유는 <input type="checkbox"> 요소를 통해 이해할 수 있다. 체크박스 입력 방식은 준비된 동일한 이름의 데이터에서 다른 값을 선택하는 식이다. 따라서 값은 달라도 데이터의 이름은 동일할 수 있다.

<form> 요소에서 name 애트리뷰트가 HTML5에서 폐기되었다. 대신에 id 애트리뷰트를 식별값으로 사용한다.
About Non empty string

비워있지 않는 문자열을 나타낸다.

popovertarget unique identifier

동일한 트리에서 popover 애트리뷰트가 있는 토글(toggle), 표시, 숨길 팝오버 요소의 id를 지정한다.

About Unique identifier

문서에서 요소를 식별하는 유일무이한 문자열 값을 나타낸다.

popovertargetaction enumerated attribute

대상 팝오버(popover) 요소의 토글(toggle), 표시(show) 또는 숨김(hide) 여부를 나타낸다.

About Enumerated attribute

제한된 값 집합으로 구성된 데이터를 나타낸다. 값 설정을 위한 다양한 방식이 존재할 수 있다.

사용되는 키워드

hide

대상 팝오버(popover) 요소를 숨긴다.

show

대상 팝오버(popover) 요소를 표시한다.

toggle

대상 팝오버(popover) 요소를 표시하거나 숨긴다.

type enumerated attribute
About Enumerated attribute

제한된 값 집합으로 구성된 데이터를 나타낸다. 값 설정을 위한 다양한 방식이 존재할 수 있다.

사용되는 키워드

button

지정된 역할이 없는 일반 버튼을 나타낸다.

reset

양식(form)에 입력된 모든 입력 요소의 값을 초기화한다.

submit

양식(form)을 즉시 제출하는 버튼을 나타낸다.

value 

입력 요소의 기본 값을 지정한다.

이 요소에서의 특징

사용자로부터 값을 입력받는 요소는 아니지만 <button> 요소에도 value 애트리뷰트로 서버에 값을 전송할 수 있다. 버튼을 누를 때 실행에 필요한 데이터를 셋팅할 수 있다.

글로벌 애트리뷰트

일부 글로벌 애트리뷰트는 이 요소에서 사용되지 않을 수 있다.

글로벌 이벤트 핸들러

일부 글로벌 이벤트 핸들러는 이 요소에서 사용되지 않을 수 있다. 이벤트 등록은 자바스크립트 사용을 권장한다.

버전 명세

HTML Standard
#the-button-element

지원 웹브라우저